<!--
  * 部门 树形选择框

  * @Author:    1024创新实验室-主任：卓大
  * @Date:      2022-09-12 23:05:43
  * @Wechat:    zhuda1024
  * @Email:     lab1024@163.com
  * @Copyright  1024创新实验室 （ https://1024lab.net ），Since 2012
  *
-->
<template>
  <a-select
    style="width: 100%"
    :field-names="{ label: 'enterpriseName', value: 'enterpriseId' }"
    :value="props.value"
    :showSearch="true"
    @change="onChange"
    :options="treeData"
    :filter-option="filterOption"
  >
  </a-select>
</template>
<script setup>
  import { onMounted, ref } from 'vue';

  import { enterpriseApi } from '/@/api/business/oa/enterprise-api';

  const props = defineProps({
    // 绑定值
    value: Number,
    // 单选多选
    multiple: {
      type: Boolean,
      default: false,
    },
  });

  const emit = defineEmits(['update:value']);
  let treeData = ref([]);
  onMounted(vendmentTree);

  function vendmentTree() {
    enterpriseApi
      .queryList()
      .then((res) => {
        treeData.value = res.data;
      })
      .finally(() => {});
  }

  function onChange(e, enterpriseName) {
    emit('update:value', e, enterpriseName);
  }

  function filterOption(input, option) {
    return option.enterpriseName.includes(input);
  }
</script>
